RAIS  3.2
C:/Projekte/RAIS/UI Common/DataRoleRestrictionManagement.cs
Go to the documentation of this file.
00001 
00027 using System;
00028 using System.Collections.Generic;
00029 using System.Linq;
00030 using System.Text;
00031 using System.Data;
00032 using System.Web.UI.WebControls;
00033 using RAIS.UI.Common;
00034 using RAIS.Common.UserManagement;
00035 using RAIS.Common.DynamicMaskManagement;
00036 
00037 namespace RAIS.UI.Common
00038 {
00039     public class DataRoleRestrictionManagement
00040     {
00041         public static DataTable GetDataRoleRestrictions(RAIS.Common.UserManagement.DataRole dataRole, ref string returnMessage, string translationLanguage)
00042         {
00043             DataTable dtRestrictions = ApplicationLogicLayer.DataRoleRestrictionManagement.GetDataRoleRestrictions(dataRole, ref returnMessage);
00044             DataTable result = new DataTable();
00045             result.Columns.Add("RestrictionID");
00046             result.Columns.Add("Restriction");
00047             result.Columns.Add("Query");
00048             result.Columns.Add("ApplyTo");
00049             foreach (DataRow restrictionRow in dtRestrictions.Rows)
00050             {
00051                 DataRow resultRow = result.NewRow();
00052                 resultRow[0] = restrictionRow[0].ToString();
00053                 resultRow[1] = restrictionRow["Restriction Name"].ToString();
00054                 resultRow[2] = restrictionRow["Query Name"].ToString();
00055 
00056                 if (!String.IsNullOrEmpty(restrictionRow["Mask Name"].ToString()))
00057                     resultRow[3] = ApplicationLogicLayer.Localisation.Translate(Constants.DATA_ROLE_RESTRICTIONS_MENU_ITEM_TEXT, "ASP.editdataroles_new_update3_aspx", RAIS.Common.Constants.DEFAULT_LANGUAGE, translationLanguage) + " " + restrictionRow["Mask Name"].ToString();
00058                 else if (!String.IsNullOrEmpty(restrictionRow["Subcategory Name"].ToString()))
00059                     resultRow[3] = ApplicationLogicLayer.Localisation.Translate(Constants.DATA_ROLE_RESTRICTIONS_SUBCATEGORY_TEXT, "ASP.editdataroles_new_update3_aspx", RAIS.Common.Constants.DEFAULT_LANGUAGE, translationLanguage) + " " + restrictionRow["Subcategory Name"].ToString();
00060                 else if (!String.IsNullOrEmpty(restrictionRow["Category Name"].ToString()))
00061                     resultRow[3] = ApplicationLogicLayer.Localisation.Translate(Constants.DATA_ROLE_RESTRICTIONS_CATEGORY_TEXT, "ASP.editdataroles_new_update3_aspx", RAIS.Common.Constants.DEFAULT_LANGUAGE, translationLanguage) + " " + restrictionRow["Category Name"].ToString();
00062                 else
00063                     resultRow[3] = ApplicationLogicLayer.Localisation.Translate(Constants.DATA_ROLE_RESTRICTIONS_ALL_MASKS_TEXT, "ASP.editdataroles_new_update3_aspx", RAIS.Common.Constants.DEFAULT_LANGUAGE, translationLanguage);
00064                 result.Rows.Add(resultRow);
00065             }
00066             return result;
00067         }
00068 
00069         public static DataRow GetDataRoleRestriction(string restrictionID, ref string returnMessage)
00070         {
00071             return ApplicationLogicLayer.DataRoleRestrictionManagement.GetDataRoleRestriction(restrictionID, ref returnMessage);
00072         }
00073 
00074         public static bool AddDataRoleRestriction(string restrictionName, string queryName, string dataRoleID, string categoryID, string subcategoryID, string maskID, ref string returnMessage)
00075         {
00076             return ApplicationLogicLayer.DataRoleRestrictionManagement.AddDataRoleRestriction(restrictionName, queryName, dataRoleID, categoryID, subcategoryID, maskID, ref returnMessage);
00077         }
00078 
00079         public static bool EditDataRoleRestriction(string restrictionID, string restrictionName, string queryName, string dataRoleID, string categoryID, string subcategoryID, string maskID, ref string returnMessage)
00080         {
00081             return ApplicationLogicLayer.DataRoleRestrictionManagement.EditDataRoleRestriction(restrictionID, restrictionName, queryName, dataRoleID, categoryID, subcategoryID, maskID, ref returnMessage);
00082         }
00083 
00084         public static bool DeleteDataRoleRestriction(string restrictionID, ref string returnMessage)
00085         {
00086             return ApplicationLogicLayer.DataRoleRestrictionManagement.DeleteDataRoleRestriction(restrictionID, ref returnMessage);
00087         }
00088 
00089         public static void GetRestrictedMasks(GridView GVrestrictedMasks, DataRow restrictionRow, UserData currentUser, string restrictionID, string categoryID, string subcategoryID, string maskID)
00090         {
00091             DataTable masks = ApplicationLogicLayer.DataRoleRestrictionManagement.GetCategorySubcategoryAndMaskNames(categoryID, subcategoryID, maskID);
00092             GVrestrictedMasks.DataSource = masks;
00093             GVrestrictedMasks.DataBind();
00094 
00095             int index = 0;
00096             foreach (DataRow maskRow in masks.Rows)
00097             {
00098                 try
00099                 {
00100                     DynamicMaskData dynamicMaskData = RAIS.UI.Common.DynamicMaskManagement.GetDynamicMaskData(Convert.ToInt32(maskRow["MaskID"]), 0, 0, currentUser, false);
00101                     if (ApplicationLogicLayer.DataRoleRestrictionManagement.IsDataRoleRestricted(dynamicMaskData, restrictionRow))
00102                         GVrestrictedMasks.Rows[index].BackColor = System.Drawing.Color.Green;
00103                     else
00104                         GVrestrictedMasks.Rows[index].BackColor = System.Drawing.Color.Red;
00105                 }
00106                 catch (Exception ex)
00107                 {
00108                     GVrestrictedMasks.Rows[index].Visible = false;
00109                 }
00110                 index++;
00111             }
00112         }
00113     }
00114 }